Detection system for determining positional and other information about objects

ABSTRACT

A system for determining the position of each of a plurality of objects in a specified environment by determining the transit times of slowly propagating measurement energy transmitted from a measurement energy transmitter on each object to a plurality of fixed measurement energy receivers in the specified environment, the transmission of the measurement energy being triggered by a burst of high speed propagating trigger energy into the specified environment from a trigger energy transmitter, the measurement energy transmitter on each object being triggered by an object-mounted trigger energy receiver, each burst of trigger energy being encoded so as to trigger one only of the measurement energy transmitters, wherein a coordinating control system determines the order in which the measurement energy transmitters are triggered, in response to updatable information relating to service demands of the trigger energy transmitter and/or objects.

FIELD OF THE INVENTION

This invention relates to a detection system for determining informationconcerning the location of objects, and which can be extended godetermine movement and orientation and even physical parameters such asshape of objects in a specified environment. The invention can beapplied to people and animals as well as inanimate objects such asfurniture, machines, vehicles, equipment and the like, and in thisconnection object is intended to include any movable entity.

BACKGROUND TO THE INVENTION

Location systems are known which allow the presence or absence of anobject in a specified environment (such as a room) to be confirmed ordenied, and relative to one or more reference points to identify wherein the environment the object is located.

EP 0485879 describes a system for locating vehicles in automaticguidance transport systems. Ultrasound is employed as a distancemeasuring medium whilst an infra-red link allows communication betweenvehicles.

WO95/14241 describes a tracking system which enables a spotlight tofollow a person on a stage carrying a transponder. Again infra-redsignals are used to instigate ultrasonic transmissions to determine theposition of the transponder and therefore the person. The spotlight ismoved accordingly.

EP 0591899 describes another spotlight controlling system for tracking amoving target (actor on a stage) carrying a transponder. Here radiotransmissions establish the communication link and ultrasoundtransmissions are employed to determine distance and position.

These systems do not measure characteristics other than position and arelimited with regard to the number of objects which can be tracked due tothe length of time needed for each ultrasound transmission to die away,which is inherent in any such system, and it is an object of the presentinvention to provide a detection system capable of track-in moreobjects, which can be modified to allow orientation, rotational movementand linear movement to be determined and tracked and will further allowfor control of operable devices on or associated with the object.

THE INVENTION

A system embodying the invention enables the position of each of aplurality of labelled objects in a specified environment to bedetermined by determining the transit time of slowly propagating energytransmitted from a transmitter on each labelled object, to a pluralityof receivers positioned at fixed points in or around the specifiedenvironment, and computing therefrom the actual distance of thetransmitter from the receivers, wherein the transmission of the slowlypropagating energy is initiated by a burst of high speed propagatingenergy from a master transmitter located so as to cause transmittedbursts of such high speed energy to enter the said environment, and thetransmitter is associated with a receiver adapted to respond to anappropriately encoded burst of such high speed energy, to therebyinitiate a burst of slowly propagating energy therefrom, (each saidtransmitter/receiver combination being referred to as a transponder) andin order to allow the system to adapt to different numbers oftransponders and differing demands for service (eg frequency of positiondetermination per transponder or object), a coordinating control systemis provided for determining the order in which the object mountedtransmitter/receiver combinations are to be addressed and triggered bythe transmissions from the master transmitter, in response to updatableinformation relating to the objects and related service demands.

Preferably each of the said plurality of receivers is adapted also to beresponsive to said burst of high speed energy, so as to identify thebeginning of a window of time within which a slow speed energy burst mayarise and be received thereby. The burst may be the same burst as issent to trigger one of the transmitter/receiver units transponders totransmit a slowly propagating wave, for time measurement.

Alternatively the said plurality of receivers may be connected by anetwork of cables and the reset signals and the polling of the timevalues may be achieved via the network.

Preferably the receivers include a latch to retain information about thetime at which the beginning of a burst of slow speed energy is receivedafter the beginning of each said time window.

Preferably the receivers are scanned (ie polled) so as to recover thetime information and reset the latches.

Preferably computing means is provided to associate the time informationwith the receiver from which the times have been obtained, and generatea transmit time for each receiver.

Preferably the computing means is programmed to convert the transit timeinto distance values and using position data relating to the receiversstored in a memory, to compute therefrom the position of the objectmounted transponder from each of the receivers, and therefore, bygeometry its position relative to one or more fixed points defining thespecified environment.

By encoding the high speed energy transmission, so a plurality ofdifferent slow speed signal transmitters all located in the samespecified environment, can be triggered in turn, so that during asequence of time windows, position data relating to each of the slowspeed signal transmitters in the environment can be obtained, the datain each window relating specifically to one only of the object mountedtransponders.

Typically the slow speed signals are acoustic or ultrasonic signals andthe high speed signals are electric currents or voltage or visible orinvisible electromagnetic radiation such as IR, UV or radio signals.

Encoding of the high speed signals may be by way of frequency oramplitude or phase modulation or pulse coding or any combinationthereof.

Preferably digital encoding techniques are employed, if only to ensureadequate signal to noise ratios can be achieved.

Background Theory to Position Determining Systems

Such systems are based on the principle or location by multilateration.For each object that is to be located, the straight-line distances aremeasured from a point on that object to a number of other points in theenvironment whose positions (in some frame of reference) are alreadyknown. Given enough distances, and a suitable geometry of the endpointsbetween which they are measured, it is possible to derive a position forthe object.

To determine the distances between objects and points in theenvironment, transmitters and receivers are placed on them andmeasurements are made of the times of signal pulses being generated andreceived. The system can be used to measure round trip delays, oralternatively can give the difference in the one-way delays for signalpulses sent simultaneously (or with known time offsets). If the one-waydelay in two media are dt₁ and dt₂, then

D=dt ₁ −dt ₂,

and

if the (predictable) velocities of propagation in the two media are v₁and v₂, and the distance between transmitter and receiver is R, then

R=D/(1/v ₁−1/v ₂).

It may be seen that if v₂ is much greater than v₁, then the rangecalculation can be approximated by

R=Dv ₁.

Thus, if, for example, radio and ultrasonic signals are transmittedsimultaneously through space then the equation R=Dv₁ will givesufficiently accurate results for the limited range of distance likelyto occur in an indoor environment, such as a typical house, room, officeor even small factory unit or warehouse.

It is not necessary to transmit both fast and slow speed signalssimultaneously. A radio pulse for example, can be treated as if itstravel time is zero (i.e. independent of range), and it can thus simplybe used as a trigger signal. However the flight times of the slow signalpulses (e.g. ultrasonic pulses) can be accurately measured bysynchronising the transmitter and receiver units, as by a timing pulsegenerated by a suitable controller.

Reflections from other objects in the transmitter's environment maycause multiple signals to arrive at a receiver. Any direct-path signalfrom the transmitter to the receiver should arrive before thesereflections, so that in general all pulses arriving at a receiver afterthe first one should be ignored. For this reason, it is important thatthe width of the pulse sent by the transmitter is as short as possible,so that the direct-path and reflected signals may be identifiedoptimally.

Problems in Such Systems

It should be noted that diffraction of the pulse signal may also occur,and this will produce similar effects to the unwanted reflections.

Once a set of distances from the transponder transmitter to thereceivers has been found, the system is programmed to attempt to derivea position of the transponder.

It is possible that some receivers will have detected no signal from thetransponder transmitter, due to obstructions, directionality of thetransmitting element, etc. These receivers must be excluded from furtherconsideration.

It is also possible that the first pulse detected by a receiver is areflected or diffracted signal. (This may occur, for example, if thedirect signal path is obstructed). In this case, the computed distancewill be greater than the true distance, and errors would be introducedinto the position for the transmitter that is reported by the system ifthat incorrect distance is used in the position calculation. In generalthe computed distances would not identify a unique point (or moregenerally small volume). If this occurs the erroneous computed value hasto be identified and eliminated.

Reflected and diffracted signals that arrive at receivers can sometimesbe distinguished from direct path signals by inspection of the receivedpulse shape, and thereby inaccurate measurement eliminated.

If this is not possible, other ways must be found of comparing thedistances measured by receivers for example by comparing measurementsmade by pairs of receivers in order to identify and eliminate erroneoussignals.

One way of doing this is to compare the distances reported by all pairsof receivers that have detected a slow speed signal. It can be showngeometrically that the difference of the measured distances from tworeceivers to a transponder transmitter cannot be greater than thestraight-line distance between the two receivers, if the measureddistances are accurate. Thus, if a pair of receivers is found for whichthe measured distances to the transponder transmitter do not satisfythis criterion, the receiver that has reported the longer distance canbe excluded from further consideration, since reflections andrefractions in general will tend to produce longer distance values thanthe true straight-line distance.

Distance Computation and Position Fixing

Having performed this algorithm, the system may be adapted to attempt tofit a non-linear regression model to the remaining distances, byperforming an iterative regression computation on the data.

If this fails to converge, the system may be programmed to report thatit is unable to calculate the position of the transmitter using theavailable data.

If the iteration converges, however, studentised residuals arepreferably calculated for the distances, and the system preferablydetermines the variance of the distance data.

Reflected signals will tend to produce large value, so that if thevariance is below a predefined, acceptable level, the system can beprogrammed to conclude that all erroneous signals have been identifiedand eliminated.

If the variance is greater than an acceptable level, signals derivedfrom the receiver associated with the distance that has the largestpositive studentised residual is assumed to have resulted from at leastone reflection and these signals are first excluded from consideration.The system is programmed to attempt to fit the model again.

This procedure involving the deletion of receivers and signals fromconsideration is repeated as necessary, until the variance of distancedata from the remaining detectors is sufficiently small.

This process is of course only valid if a large enough number ofsignals/receivers still remain when the small variance is noted.

At any stage in this process, it may be found that the geometry ornumber, or both of the remaining receivers under consideration isinsufficient for a three-dimensional position for the transpondertransmitter to be calculated. For example, all the remaining receiversmay be in line.

If this occurs, the system is adapted to abort the computation andreport that insufficient information has been gathered to fix theposition of the transmitter at that time.

In an application of this procedure, when the system criteria indicatethat all receivers that may have detected an erroneous signal have beeneliminated from consideration, a non-linear regression model has beenfitted to the distances calculated from the pulse times determined bythe remaining receivers, and a transponder transmitter position has beenfound, the system may use this information for various purposes, or itmay transmit the information to other interested parties.

Before transmitting a second slow speed signal the system preferablywaits for reverberations of the previous distance-measuring pulse to dieout before attempting to repeat the above procedures to get another fixfor the transponder transmitter position. Obviously, the time the systemmust wait for this to happen will depend on the characteristics of thetransmission medium and the transmitter's environment. This may bedetermined empirically, or by adaptation such as by self-learning.

In one embodiment of the present invention, there is provided adetection system for determining information concerning at least theposition of an object, using signal pulses respectively of high and slowpropagation speeds, comprising at least three fixed, non-collinearlydistributed slow speed signal responsive receivers, at least onetransponder transmitter unit for transmitting slow speed signal pulses,mounted on the object, means for generating and transmitting high speedsignal pulses to synchronise signal pulse transmission from thetransponder with the commencement of a reception-sensitive period at areceiver and means for computing signal pulse reception times andcorrelating differences therein to determine the required informationabout the position of the object.

In another embodiment, a separate transmitter is located on each of twoor more objets in the specified environment and each transmitterincludes a high speed signal responsive receiver adapted to respond toonly one of a plurality of high speed signals, and the separatetransmitters are triggered in sequence by a transmitter of high speedsignals which is adapted to transmit uniquely one of the plurality ofpossible high speed signal at the beginning of each timeframe.

The invention can be adapted to identify and log movements of two ormore objects in the same area/space, by mounting a transpondertransmitter on each object and providing each transponder with a uniqueaddress, so that each transmitter can be triggered in turn and theposition of the relevant object determined in a sequence.

It is not only necessary to trigger transponder transmitters uniquely,but also necessary to restrict transmissions from multiple objects sothat they do not interfere with each other, by making sure that thetransmissions do not overlap in time in the same space.

In accordance with the invention, this is arranged by a coordinationdevice which addresses the transmitters, and sends address informationto them as part of a regular timing synchronisation signal. For example,the slow speed signal transmitters, each with their own high speedsignal receiver and unique address, could be placed on the objects to belocated, and access to th space in which the distance-measuring pulsesare transmitted is divided into discrete timeslots, the duration of eachtimeslot being the time needed for reverberations of pulses to die down.At the start of each timeslot, the coordinating device is adapted tosend out a high speed timing-synchronisation signal (typically a radiosignal) which consists of an address and a timing pulse. All thetransponders on the objects will receive this signal, and each comparesthe received address with its own. If the addresses are the same, thattransponder one transmits a slow-transmission-speed distance measuringpulse, when the timing pulse is received.

The frequency at which addresses are transmitted by the coordinatingdevice may be varied, either during set-up, or based on informationobtained from previous addressings.

Thus during set-up an object which will normally be static and remainfor long periods of time in one place, can be identified as such, andits address only transmitted infrequently—say once every 5 minutes oronce every hour. However objects which it is known in advance are likelyto move (or be moved) within the space, can be identified as mobile, andtheir transponder addresses transmitted more frequently—eg once everyminute, or every few seconds, or even more often if the systemcapabilities permit.

In a more sophisticated arrangement, a memory in the coordinating devicemay be used to store against each address, an item of information whichindicates the frequency of position changes, for that address, detectedby the system during some predetermined period of time (which might beminutes, hours or days depending on the environment and the nature ofthe objects carrying the transmitters). The stored item of informationis employed to determine how often each address is broadcast. If theitem of information changes in value, indicating an increased ordecreased frequency of movements of the address within the space, thecoordinating device can respond appropriately and increase or decreasethe frequency of transmissions of the address received.

The system can also be used to determine the true orientation of anobject, by comparing the position of two or more transpondertransmitters mounted on the object.

If an object is rigid and stationary (or moving slowly or predictablyenough) and a number of transmitting elements are placed at known pointson the object, the positions of all the transmitters can be found inthree dimensions. Since the fixed spatial relationship between thetransmitters on the object is known, as well as their measured positionsin three dimensions, it is also possible to determine the orientation ofthe object.

Depending on the knowledge of the capability of movement of an object,one or more transponder transmitters located thereon will enable theposition and orientation of the object to be determined. Thus an objectmounted for rotation about a fixed axis and only capable of thatmovement will generally only need one off—axes transmitter to be mountedthereon to allow its rotational position to be computed.

If two spaced apart transmitters are mounted on an object, moreinformation about rotation and position can be determined to advantage.

If orientation is to be determined efficiently and quickly, it ispreferable to cause the two or more transmitters on the object totransmit in succession.

If the object is moving, then the same pattern of addressing ispreferably maintained so that changes (caused by movement) in the actualand/or relative positions of the transmitters will be as small aspossible, and the most accurate description of each orientation as wellas the movement of the object will be obtained.

A preferred embodiment of the invention comprises a system fordetermining the position of an object in a specified environment inwhich the transit time is determined of slowly propagating measurementenergy transmitted from a transmitter on the object to a plurality ofreceivers positioned at fixed points in or around the specifiedenvironment, and in which the distance of the transmitter from eachreceiver is computed from the times taken for the measurement energy topropagate from the object to some of the receivers, and wherein theslowly propagating measurement energy is initiated by a trigger burst ofenergy having a higher speed of propagation from a master transmitterwhich is located so as to transmit trigger bursts into the environmentto initiate the measurement energy transmitter on the object ofinterest, and wherein a plurality of such transmitters are located ondifferent objects and/or points of the same object within theenvironment, and each transmitter of measurement energy is associatedwith and controlled by signals from a receiver responsive to triggerburst transmissions, and the latter are encoded and/or transmitted atdifferent frequencies so that the receivers located throughout theenvironment can be individually addressed from the master transmitter,

characterised in that

a coordinating control system is provided for determining the order inwhich the object mounted transmitter/receiver combinations are to beaddressed and triggered by the transmissions from the mastertransmitter, together with memory means for storing relevant informationabout the different combinations with reference to their addresses, bywhich the order can be determined.

The coordinating control system memory means typically stores a uniqueaddress for each of the receiver/transmitter combinations, and thecontrol system is programmed to encode the transmissions using theaddress information so as only to address the transmitters individually.

Preferably in addition to the unique address for eachreceiver/transmitter combination, at least one additional item ofinformation (a weighted hierarchy indication for schedule positioning,or “WHISP”) is stored in a manner which can be associated with eachunique address, and the control system is programmed to select from theaddresses that of the receiver/transmitter combination next to bepolled, using the WHISP values to determine the order of addressing.

The coordinating control system may be separate from or form an integralpart of the master transmitter.

WHISP Options

A WHISP may be stored for each unique address, and it is the WHISP whichmust be changed to adjust the subsequent addressing of the transponders.

Alternatively a set of standard WHISPS may be stored and an associationbetween each unique address and one of the standard WHISPS is stored foreach unique address, so that an appropriate WHISP is linked to eachunique address. In that event only the associations need to be changedso as to influence the subsequent addressing or the transponders.Likewise a change to one (standard) WHISP will mean that all theassociated addresses will be given a new hierarchial position.

For complete flexibility unique addresses, WHISPS, (and/or theassociations between unique addresses and WHISPS) can all be changed toallow for the entry or exit of transponders into and out of theenvironment, and to alter the manner in which those in the environmentwill be addressed by the coordinating control system.

In one example the WHISP may be a simpler logic 1 or 0 to indicatewhether the transponder combination is to be addressed or not.

The WHISP may comprise a priority or weighting measure to determine theorder or rate at which the transponder is to be addressed.

The WHISP may comprise two items of information, firstly for example thelength of time since the transponder was last addressed (which may becontinually updated by clock information) and secondly for example arate of interrogation figure to be achieved by the system for thattransponder.

Assembly of Address Lists (Scheduling)

The coordinating control system may compile a list of transponders to beaddressed in a sequence by interrogating all of the unique addresses andtheir related WHISPS and compiling the order in which they are to beinterrogated using the current WHISP information.

Thus in one arrangement the coordinating control system may create aschedule of unique transponder addresses using the WHISP data, andarrange the order of the addresses in the schedule, and therefore theorder in which they are to be interrogated. The schedule is then used todetermine the encoding of each trigger burst from the master transmitterand the order in which the transponders are thereby interrogated.

In this arrangement, updating may be performed in two different ways.Thus in one mode, any changes which are required to be made to WHISPdata may be held over pending the end of the interrogation of thecurrent schedule of addresses, whereupon the WHISP data is updated priorto the compilation of the next schedule.

Interruptions to Scheduling

In an alternative mode, a change to a WHISP may be permitted tointerrupt the running of a particular schedule if the unique address oraddresses associated with that WHISP is/are still to be interrogated,but is held over to update the WHISP data before the next schedule iscompiled if the particular address or addresses has/have already beeninterrogated in the current schedule.

In either mode, the system may include an emergency override to allowthe transponder triggering in accordance with the current schedule to beterminated immediately, and for a new schedule to be immediatelycompiled, taking account of the WHISP change associated with, or enteredwith or after, the emergency override instruction.

Dynamic Scheduling

An alternative and more flexible approach to scheduling involves merelydetermining from all available data existing just before the nexttrigger transmission is due, the next transponder address which shouldbe interrogated, using a suitable algorithm and high speed processing,and the development and implementation of one particular algorithm forperforming this function is set out below.

Determination of Dynamic WHISP Scheduling

Changes to WHISP data may occur as a result of a lapse of time, thearrival o a particular time or date, or by interaction with anapplication running on a computer (which may be part of the positiondetermining system, or the coordinating control system, or anothercomputer altogether), or by, the entry of data by an operator forexample to indicate that the system should cease its scheduledtransponder position determining function and for example seek oneparticular transponder (which may for example relate to that on aparticular person or object believed to be within the environment).

Additionally or instead, environment related information may be allowedto create an interruption to permit or cause WHISP data to be altered,such as an increase or decrease in temperature, light level, or soundlevel or like, either within the environment or within a separatelymonitored environment, or by transducer originating signals linked forexample to the movement of an object either within the environment;within an adjoining environment; or for example by the opening of a doorcommunicating between one environment and another.

Independent Movement Sensing

The movement of an object within the monitored environment or anadjoining environment may we detected by means of a movement sensor suchas a trembler switch, associated with the object. If so a radio orhard-wired communication channel may be required between the sensor andthe coordinating control system.

WHISP Data Changes

References to changes to WHISP data, include changing the WHISP datastored in a unique memory means linked to one of the unique addresses,or changing the association between a transponder address and aplurality of standard WHISPS, depending on whether a separate WHISP isstored for each address, or whether a number of standard WHISPS arestored and associations between them and the different event transmitteraddresses are stored.

Operation of the Scheduler

According to another aspect of the invention, the scheduler may beadapted not only to determine the order in which the transponders are tobe interrogated but also the rate of interrogation of any onetransponder.

This may for example be a fixed rate associated with the particulartransponder address, which rate is entered as a second item ofinformation in each WHISP.

Alternately in another example, the second item of information may be anadjustable rate value, which can be altered in relation to variations ina parameter monitored by a transducer or sensor. The parameter may forexample be temperature, light level, sound level or the like, or may bea value which can be adjusted by an operator, or in relation for exampleto a parameter such as the time, or the date.

According to a particularly preferred aspect of the invention the rateparameter associated with each WHISP itself may be a dynamic variable,whose instantaneous value is determined for example by whether avariation has occurred in the detected position of a transponder carriedby an object.

Resource Allocation

If the object(s) are stationary, the position(s) of the transponder(s)carried by the object(s) will be substantially identical each time thesystem interrogates the relevant transponder(s). By comparing the lastnoted position(s) with the current noted position(s) and applying atolerance band to cover minor variations introduced by the measuringprocess, the system can be programmed so as to reduce the frequency atwhich any one transponder (or group of transponders) is interrogated,down to a relatively low level, thereby reducing the traffic on thesystem and allowing more time to be available for more frequentinterrogation of transponders positioned on objects which are moving,and whose positions therefore are likely to vary from one reading to thenext.

In order to monitor a rapidly moving object interrogations spaced byless than a second may be needed in order to track its movements, and itis of great advantage to reduce the rate of consideration oftransponders on other objects which are essentially static, or onlymoving very slowly or in a predictable pattern.

Tracking Rate Variation

According to another preferred feature of the invention, the system maybe programmed to utilise a third item of data within a WHISP, and toincrease the tracking, (ie frequency of interrogation) of a transponderof a first object if a second object having such a third item ofinformation stored as part of its WHISP is perceived by he positiondetermination of the transponder on the second object, to have movedclose to the first object.

Thus for example the WHISP of a transponder address of a human being maycarry such a third item of information, so that if the transponderlinked to the person concerned is seen by the system to approach anobject which is normally stationary and whose transponder wouldotherwise be interrogated perhaps only once every 5 minutes, theinterrogation rate of the transponder associated with the stationaryobject may be increased in anticipation of the possibility that theperson may suddenly move it.

Thus by allowing for the instantaneous adjustment of the nexttransponder address which is to be interrogated, a fully dynamic systemcan be created since it allows the scheduler to alter not only whichtransponder is to be interrogated but also the rate at which differenttransponders are to be addressed with complete flexibility, thereby tofollow changes and developments in an environment, with little or nodelay. The system can therefore be thought of as having very lowhysteresis and by including pre-programmed items of information in eachWHISP, which can alert the system to the likelihood of changesoccurring, so sudden changes in the environment can be followed almostimmediately they occur.

Basic Assumptions to Allow Algorithm Parameters to be Determined

By way of example let us consider a location system that uses a set ofultrasound receivers placed at known positions on a ceiling in a room todetect ultrasonic signals from an ultrasound transmitter attached to anobject in the room. By determining the times-of-flight of those signalsfrom the ultrasonic transmitter to the ultrasound receivers, we maycalculate in the three dimensions the position of that object in theroom. The a system can be extended to locate more than one ultrasonictransmitter in the room, provided each has a unique address so that theycan be triggered separately, typically by serially polling thetransmitters.

In order to accurately measure the signal flight-times, a centralcoordinating device triggers the transmitter, at the same time as areset signal is sent to the ultrasound receivers, typically over a wirednetwork. Synchronisation between the transmitting and receiving elementsof the system is thus achieved. To ensure that only one transponder istriggered (where two or more transponders exist in the room and so as toprevent the confusion that would be caused if ultrasound receivers wereto detect ultrasound signals from more than one source), each ultrasonictransmitter is controlled by a radio receiver and is triggered by thetransmission of a suitable radio signal into the room. Each receiverincludes a unique address. The radio signal contains one such uniqueaddress. Upon receipt of the radio signal, each radio receiver comparesthe transmitted address with its own, and, if the addresses match, itsultrasonic transmitter is triggered to emit a short pulse of ultrasound.

The central coordinating device has to allow for reverberations andreflections of each transmitted pulse ti die away (so that theultrasound receivers detect ultrasound from only one source) beforetriggering another ultrasonic transmitter. For a typical room, the timeneeded to allow all such sounds to die away can be of the order of 20ms.

It can be seen, therefore, that there is a limit on the number ofultrasonic transmitters which such a location system can trigger in anytime period. The time between each radio addressing message is called atimeslot, and only one transmitter can be interrogated and triggeredwithin each timeslot.

Efficient distribution of the timeslots between ultrasonic transmittersto be located is clearly a priority, and this distribution should takeaccount of the different rates at which location information aboutparticular objects is desired. For example, the system might normallymonitor transponders carried by people (who move often) at least onceeach second, whereas it might monitor those attached desks, filingcabinets or workstations (which move infrequently) only once a minute.If, however, a monitored person walks up to a particular workstation,the system may be programmed thereafter to monitor that workstation'sposition once a second at least while the person is noted as being inthe vicinity, because it is then more likely to be moved.

A further constraint on the allocation of timeslots can arise whenmembers of a group of transponders need to be interrogated inconsecutive timeslots. This is advantageous when the positions or thetransponders in the group are to be used to determine both the locationand orientation of an object, such that any motion of the object betweenreadings can make the derived information inaccurate.

As mentioned above, the process of timeslot distribution is calledscheduling, and software, typically in the form of an algorithm forperforming this function, will be called a Scheduler.

The priority level assigned to each different transponder is called itsLocation Quality or Service (LQoS).

The LQoS of a transponder may also be changed at any time, andsubsequent timeslot allocation needs to take account of any suchchanges.

The Scheduler provided by the present invention is designed toaccommodate LQoS changes; to have the appropriate long term behaviour;to assign timeslots to transporers based on their Location Quality ofService (LQoS); and furthermore to deal with service demands which aregreater or less than the system capacity, by scaling excessive requestsfairly in the former case, and padding with dummy timeslot assignmentsin the second. It is also capable of adjusting timeslot assignment toallow a group of transponders to be located consecutively.

Scheduler Implementation

Let us consider a system having the following parameters:

(1) The length of a timeslot is 40 ms (ie the system is capable ofdetermining 25 positions per second)

(2) The transmitters each have a unique 16-bit address

(3) The reserved address 0 is not allocated to any transmitter.

(4) Every transponder is also a member of one transponder group, alsoidentified with a 16-bit number (again, identifier 0 is reserved)

(5) The scheduler is a CORBA-based distributed software programme(Object Management Group, The Common Object Request Broker; Architectureand Specification. Revision 1.1, OMG Document number 91.12.1, December1991) running on a workstation.

(6) Location Quality of Service (LQoS) is expressed as an integerrepresenting the desired period of positioning (eg an LQoS of 25requests one position every 25 timeslots, ie once per second).

In accordance with the invention, the Scheduler is adapted to maintain ascheduling table stored in memory. Each row of the table contains sixentries:

1. A 16-bit transponder address, a

2. A 16-bit group identifier for the transponder, g

3. The LQoS for the transponder, l

4. A real number called the Effective LQoS (or ELQoS), e

5. A real number called the score, s

6. A bit called the slotswap bit, b.

A row in the table is described by an ordered six-type (a,g,l,e,s,b). Aglobal flag called “excess-demand” (to be described later) and aninteger called “last-group” are also maintained by the Scheduler.

When the Scheduler process is initialised, the scheduling table isempty. A single row (0,0,1,1,0, false) is immediately added. This entryrepresents a dummy transponder. The excess-demand flag is set to false,and the last-group is set to zero.

Adding or Changing a Request

An operator (user) or software application can contact the Schedulerover its CORBA interface to indicate that the location requests for atransponder group should be added or changed. It should be noted that iftwo or more transponders are members of the same transponder group thentheir location requests should not be capable of being added or changedseparately. Furthermore, the requests involving the dummy transponderaddress 0 and dummy transponder group ID 0 will be ignored. The user orapplication passes the following information to the scheduler:

g, the transponder group identifier

l, the desired LQoS for members of this transponder group

a₁, . . . , a_(n), the transponder address of members of thistransmitter group.

For each transponder address a₁, . . . a_(n), the scheduler then adds ormodifies an entry in the scheduling table.

For values of i between 1 and n, if a row of the form (a₁, g₁, l₁, e₁,s₁, b₁) is present in the table, it is updated to (a₁, g, l, e₁, s₁, b₁), otherwise a row (a_(i), g, l, 0, 0, false) is added.

The scheduler is then arranged to recalculate the ELQoS for each of them entries in the table.

First, it calculates the total level of LQoS demand, (t), where t isgiven by Equation (1).

Next it updates the ELQoS for each of the n entries in the schedulingtable, e_(i), with a new value e′_(i). If t is less than 1, then e′_(i)is given by Equation (2).

Otherwise, if t is greater than or equal to 1, e′_(i) is given byEquation (3).

Deleting a Request

When a user or application contacts the Scheduler over its CORBAinterface to indicate that a location request for a transponder shouldbe deleted, it also passes the address of that transponder a_(i), to theScheduler. (The entry corresponding to transponder address 0 may not beremoved). If the scheduler finds that an entry for that transponder ispresent in the table, it removes the corresponding row (a_(r), g_(r),e_(r), s_(r), b_(r)) from the table. The scheduler then updates everyother row in the table (a_(x), g_(x), l_(x), e_(x), s_(x), b_(x)) to(a_(x), g_(x), l_(x), e_(x), s′_(x), b_(x)) where the value of S′_(x) isgiven by Equation (4),

In Equation (4) n is equal to the number of rows in the table beforeremoval of the location request. The scheduler recalculates theeffective rates based on the remaining table entries as described in theprevious section.

Allocating Timeslots

Once every 40 ms, the Scheduler must tell the central coordinatingdevice (across a CORBA interface) the address of the transponder whichshould we located next. It does this by examining the contents of thescheduling tabe and any attempts to update the table are blocked untilthis examination is complete.

First, the scheduler steps through each row in the scheduling table. Ifthe last-group register does nor contain 0, and the scheduler encountersa row in which the transponder group ID is the same as the contents ofthe last-group register, and in which the swap-slot bit is false, itsends the transponder address contained in that row to the coordinatingdevice, and sets the swap-slot bit on that row to “true”.

Otherwise, the Scheduler operates in accordance with the followingalgorithm: (5)

1. Choose the row in the table with the highest score (a_(c), g_(c),l_(c), e_(c), s_(c), b_(c)).

2. If b_(c) is false, for each row of the table which has thetransmitter group ID g_(c) set the swapslot bit to false. Then, updateeach row in the table (a_(x), g_(x), l_(x), e_(x), s_(x), b_(x)) to(a_(x), g_(x), l_(x), e_(x), s′_(x), b_(x)) where s′_(x) is given by

s′ _(x)=(s _(x)+1/e _(x))

Next, the single chosen row in the table is further updated to (a_(c),g_(c), l_(c), e_(c), s″_(c), b_(c)) where s″_(c)(=s′.c−1).

The lastgroup register is set to g_(c).

Finally, the coordinating device is informed of the address a_(c) of thetransponder that should be located next (if a_(c) is zero, thisindicates that no transponder should be addressed in the next timeslot)

3. If b_(c) is true, update each row in the table (a_(x), g_(x), l_(x),e_(x), s_(x), b_(x)) to (a_(x), g_(x), l_(x), e_(x), s′_(, b) _(x))where s′_(x) can be computed as above. Next, the single chosen row inthe table is further undated to (a_(c), g_(c), l_(c), e_(c), s″_(c),false) where s″_(x)=(s′.c−1). The row in the scheduling table with thehighest score is chosen again, and the above steps are retaken.

Rotational Movement

The relative positions of two or more transponders carried by the sameobject can be checked against the previous known positions to determinewhether or not the object has for example been rotated.

According therefore to another feature or fine invention, a set of twoor more transponders which are carried by the same object can beidentified as such with a further item of information in theirassociated WHISPS, such that the control system will schedule theinterrogation of second and any subsequent transponder addresses of theset of transponders on the object after the first of the pair has beeninterrogated.

By interrogating the set of transponders on an object in rapidsuccession so any relative movement between position determination ofeach point is minimised, rendering the orientation picture of the objectfrom each such succession of position determinations to be as accurateas possible.

In general three transducers are needed to permit the orientation (andany changes in orientation) of an object to be determined. For someobjects normally constrained to occupy a limited range of positions onlytwo or even one transducer may be sufficient.

The invention also lies in apparatus for performing any of the abovemethods, and in particular comprises a master radio transmitter fortransmitting short duration radio frequency trigger signals into anenvironment; a plurality of radio receiver-controlled ultrasoundtransmitter units (transponders; located on movable objects throughoutthe environment; a plurality of ultrasonic receivers located at fixed,spaced apart points in the environment and adapted to receive ultrasoundsignals from transponders in the environment; a coordinating controlsystem adapted to cause the master radio transmitter to emitappropriately encoded trigger signals to trigger one particulartransponder (if present) in the environment, and cause it to emitultrasonic radiation; and a computer based data processing systemreceptive of signals from the ultrasound receivers for determining fromthe transit times associated with those transmissions the apparent lineof sight distances of the transponders from at least some of thereceivers, and thereby from the geometry of the receivers the apparentposition of the object in the environment; memory means for storingposition data for each such identified transponder and therefore theobject on which it is mounted; scheduling means for determining theencoding of the next radio trigger transmission, and therefore theaddress of the next transponder whose position is next to beinterrogated; additional memory means for storing at least oneadditional item of information in association with the position data ofeach transponder; and programmable data processing and/or logic meansfor determining from the said additional items of information and/orfrom at least one previously interrogated transponder address, whichtransponder address is to determine the next encoding of the radiotrigger transmission.

In a preferred arrangement, further memory means is provided withinwhich is stored data relating to the time at which each transponderaddress was last interrogated, and the programme running in theprocessor controlling the said logic means is adapted to compare theinformation stored in each said further memory means with the WHISP datafor all transponder addresses suspected to be in the enviroment, todetermine which of the transponders is next to be interrogated, and toencode the next radio trigger signal accordingly.

The different memory means may comprise different parts of one memorydevice (such as a large random access memory) or may be formed from twoor more different memory devices, at least some of which may be randomaccess memories and others may be programmable read only memories.

Reduction of Errors Due to Spurious Acoustic Signals

Obviously any acoustic noise sources in the environment which cangenerate ultrasonic signals similar to those sent by the ultrasoundtransmitters, have the potential to introduce false positiondetermination.

In order to overcome this problem, and in accordance with anotherfeature of the invention, the ultrasonic receiver is rendered sensitiveonly to sound of a particular frequency, by the use of an ultrasonicdetector with a narrow bandwidth around that frequency, and thebandwidth of the sound signal emitted by the transmitter is also limitedto a narrow bandwidth around that frequency, and wherein the systemincludes a further ultrasonic receiver adapted to simultaneously monitorsound at at least one of a number of different frequencies, and a logicbased system determines if signal detected by a receiver at the uniquefrequency used by the transmitter is accompanied by other sounds at someor all of the said different frequencies and if not, the detected signalis identified as being TRUE, and if accompanied by other sounds, thedetected signal identified as being corrupted by noise.

Thus for example noise sources in the environment (for example, a set ofjangling keys) tend to simultaneously generate signals at a large numberof different frequencies, so that sounds are detected at the transmitterfrequency and at other frequencies simultaneously. The detection of sucha range of sound signals (even though it contains a component at thetransmitter frequency) has to be identified as either a FALSE soundsignal or is as a TRUE signal which has been corrupted by noise, and ineither event the signal must be rejected.

The number of additional frequencies that are monitored is preferablygreater than one, and the monitoring may be performed at one or more ofa number, of different points in the environment.

Orientation Determination

In some circumstances, a plurality of transponders may be attached tothe same object. Thus if three transponders are attached to a rigidobject so that they are not colinear, then by finding the positions ofthose three transponders not only the position but also the orientationof the object may be deduced (assuming that no movement of the objecthas occurred between the time at which the measurements were made).

Component Redundancy Reduction

Typically each transponder has its own independent radio interface,controlling log, and one or more ultrasonic transducers. However, wheretwo or more such transponders are placed on an object, complete physicalindependence of the transmitters is not required and components ofdifferent transmitters can be interconnected using wires and duplicationof components which are common to the transponders can be reduced oreliminated.

According to one aspect of the invention, a single radio receiver may beprovided together with decoding logic to drive a number of individuallyaddressable ultrasonic transducers. Thus the one receiver will respondto more than one address and hence can be described as aMultiple-Address transponder but for each address only one of theultrasonic transducers would be triggered, corresponding in each case toone of the points on the object.

The invention thus envisages an object having mounted thereon aplurality of ultrasonic transducers located at a corresponding pluralityof different non-colinear positions on the object, and a single radioreceiver adapted to trigger one or another of the transducers dependingon an address code contained within a radio signal received thereby, sothat the different transducers may be triggered by appropriately codedradio signals, to transmit ultrasound signals into the environment atspecific times, and from the different points on the object, to enablethe unique positions of the said points on the object to be determinedand enable the orientation of the object to be determined.

The invention also envisages each transducer as being comprised of agroup of two or more similar transducers facing in different directionsto more uniformly spread the ultrasound around the environment.

Ultrasonic Transmitter Design

In a preferred embodiment, the basic ultrasonic transmitter incorporatesa plurality of ultrasonic transducers which are driven simultaneously tocreate a pulse of ultrasound from the device.

Typically, the transducers (which, individually, have a relativelynarrow beam angle) are arranged to point in different directions so asto generate a generally omnidirectional transmission pattern. However,it is possible to arrange the transducers so as to produce a moredirectional beam, and two advantages follow:

1. The number of transducers required can be reduced. This is especiallyrelevant if a transmitter is to be placed on an ultrasonically opaqueobject in such a way that if an omnidirectional signal were to begenerated by the device a known fraction of the omnidirectional signalwould be absorbed. A directional beam extending over the area notabsorbed by the opaque object can therefore be generated using fewertransducers than would have been required to generate theomnidirectional signal, but the ultrasound signal issuing from theobject will appear to be the same, as if an omnidirectional source hadbeen employed.

2. The orientation of an object may be determined by identifying thepositions in the environment at which receivers are located whichreceive signals from a transducer or the object. Thus directionaltransducer on the front of a computer monitor may be sufficient toenable the direction in which the screen is facing to be determined, bymapping which of the receivers on the environment “hear” the transmittedultrasound.

Power Saving

Standard operation of each transponder leaves the radio channel opencontinuously. This technique ensures that it will receive all addressingmessages from the coordinating device, but if the transponder is batterypowered it is also disadvantageous, in that power is used continuouslyby the radio interface and the batteries will become rapidly discharged.

According to another aspect of the present invention, the transpondersare made aware of the fixed interval which is to occur betweenaddressing messages and power saving is achieved by turning off theradio interface after a message is received and switching it on justbefore the next one is due.

This may be achieved by providing the transponders with a low-powersupervisory circuit which can turn the radio interface on and off.

Further power saving may be achieved if the frequency with which aparticular receiver-transmitter will be addressed by the coordinatingdevice is known. If the coordinating device as programmed so as to beaware that the transponder will not be addressed for some amount oftime, it can encode that time in the radio message, and after decodingthe message the transponder will be able to switch off its radiointerface for that amount of time. The power savings is particularlyefficient if a transmitter is made to “sleep” for a long time, as wouldbe the case if the transponder is being used to track, an item of officeequipment such as a printer, which is not expected to move very often.

The scheme described above can be extended so allow sleepingtransponders to be woken up at short notice. Thus in the case in whichthe coordinating device is sending out 50 addressing messages eachsecond, the transponders can be configured so that they turn on theirradio interfaces once a second, at a time when a message is due, anddecode that message (therefore using {fraction (1/50)} of the powerwhich would have been used if they had decoded each message). A data bitat the start of each message (the wake bit) indicates that thecoordinating device wishes to wake up all sleeping transponders or a setof sleeping transmitters (say, all those with even addresses). If anumber of bits can be transmitted at the beginning of each transmission,the “sleeping” transponder can be grasped and woken up accordingly bytransmitting an appropriate code, within the capability of the bits. Ifa sleeping transponder receives such a message, and if that message isapplicable to it, it will wake up, and from that time on check everyaddressing message from the coordinating device, until such time that itis instructed to go to sleep again. With this method, much of thepower-saving advantage of sleeping can be retained, and yet it canquickly trigger transponder so as to be able to determine its location.Thus in the case of the printer described above, if a person walked upto the printer, it is likely that they might move the printer, and inwhich event it may need to start tracking it immediately, even if it wascurrently “sleeping” to save power.

If a transponder is taken out of range of the master radio attached tothe coordinating device, there is no point in it continually turning onits radio interface, for it will be unable to receive addressingmessages. Therefore, in order to save power in these circumstances, if atransponder does not receive an addressing message at a time when one isexpected, then it can be programmed to go into sleep mode for apredetermined period (perhaps one minute), before turning the radiochannel on again for sufficient time to detect whether it is in range ofthe coordinating device again. For example, if the coordinating devicewas sending out an addressing message every {fraction (1/50)} second,then a sleeping transmitter must wake for {fraction (1/50)} second todetermine if it is in range of that coordinating device. If it did thisonce a minute, then the radio interface would use only {fraction(1/300)} of the power it would otherwise use. This is achieved at theexpense or up to a one minute delay before a transponder's position canbe determined after it is back in range of the coordinating device.

Registration of New Transponders as They Enter an Environment

It is desirable for such a system to be able to cope with theintroduction of a previously “unknown” transponder unit without operatorintervention. In this situation there is a requirement to indicate tothe overall coordinating device that it must start to address the newtransponder. This process will be referred to as a “registration”. It ismerely necessary that the new transponder is compatible with and has aradio address which is one that would be expected and recognised by, thesystem.

In order to do this and in accordance with a preferred feature of thepresent invention, a bi-directional radio link is provided between aremote receiver and each transponder. Typically this is achieved byadding a radio transmitter to each transponder and adding a radioreceiver to the master transmitter. Such transponders will be referredto as bi-directional transponders.

In one arrangement the coordinating device may for example transmit theradio receiver addresses in sequence of all possible bi-directionaltransponders, at regular intervals. The bi-directional transponder radioresponses may be checked for radio responses from any new transponderaddresses, and these addresses may then be added to the list ofbi-directional transponder addresses which are to be scheduled, forposition determination by subsequently triggering by radio theirbi-directional transponder so as to generate ultrasound signals.

In a more preferred arrangement a “Slotted ALOHA contention-resolutionprotocol” such as described by Roberts L in ALOHA Packet Systems Withand Without Slots and Capture, Computer Communications Review, April1975, may be used to allow the transponder to identify its uniqueidentification (ID) to the coordinating device and establish itsposition in the schedule for the master transmitter.

This type of protocol is a probabilistic protocol which allows manytransmitting and receiving devices to use the same radio channel totransmit at the same time. This allows a plurality of transponders touse the same radio channel to communicate with the coordinators andenter their ID's into the schedule to be used by the master transmitter.

Preferably the contention-resolution protocol is performed until anindication is received from the master transmitter and/or its associatedcoordinator that location resources have been allocated to the new IDfor that transponder transmitter.

This indication may be sent as part of the addressing message.

The indication may simply be a command to transmit or a separateacknowledgement field.

In either case, the transponder's unique radio receiver ID may beencoded in the message to show that the master transmitter and/orcoordinator is aware of its presence.

Resource Retrieval

This has been referred to above, and in accordance with another featureof the invention, “registration” may also be used in resource retrievalto prevent valuable resources being used unnecessarily.

Thus if a bi-directional transponder is moved to a location where itsultrasonic signal is undetectable (e.g. if it is placed in, a box) thenthe coordinating device may be programmed to reallocate the locationresources that were are being used to track that device.

For example if no ultrasound signal from a bi-directional transponderhas been detected after it has been addressed for say up to four times,the coordinating device may be programmed to set a “transmit” bit in theradio addressing message the next time it is transmitted by the mastertransmitter, so as to force a registration from the addressedtransponder transmitter, whilst blocking registration attempts from anyother bi-directional transponders.

If a radio reply from the bi-directional transponder transmitter isdetected by the master radio receiver in response to a “transmit bit”,then the related object mounted transponder is still in range of themaster radio transmitter, and the absence of an ultrasound responseeither lies in a temporary shielding of the transponder or an electricalfailure, (as opposed to movement of the object), and the resource shouldnot be reclaimed. In the example given the transponder may have beentemporarily shadowed by ultrasound absorbing material.

If no signal is detected, then the next time that bi-directionaltransponder is addressed by the master radio transmitter thecoordinating device may be programmed to set a special drop bit in theaddressing message, to indicate that the location resources that arecurrently allocated to that transponder will be reclaimed, and thetransponder concerned will not subsequently be addressed via the mastertransmitter radio link.

If the transponder radio receiver can receive this message, it must bein a location where it can receive radio signals from the master radiotransmitter but the coordinator is unaware of its ultrasonic response.In this event the bi-directional transducer is programmed to perform theregistration process described above, but in the meantime thecoordinating device reclaims the now unused location resource associatedwith that ID, until such time as the transducer achieves registration.

The use of a drop bit dictates that the radio interface should be veryreliable, since if a transponder were to miss a message telling it notto expect any more radio addressing transmissions this could result inthe transponder not starting the registration process, and, withoutother intervention, no further position updates would be received forthat transponder.

According to a preferred feature of the invention, each addressingmessage contains one or more sets of error-correcting or error-detectingbits in combination with a powerful checking algorithm (e.g. CRC Check).

If a transponder receives a message containing errors, it is programmedto assume that the message was destined for it, and that the drop bitwas set, so that if a transponder receives such a message, it willimmediately begin the registration process.

Whether there are merely a number of independent but interlinkedregional coordinators, or an overall coordinating device which sitsabove a plurality of regional coordinating devices, either the overalldevice or all of the regional coordinating devices (or both) may beprogrammed to remember the ID's of any bi-directional transponders whichhave dropped out, and this fact may be compared with a look up table ofdata, indicating whether or not an alarm is to be raised and/or theabsence noted in a display. For example in the case of an ID associatedwith a valuable piece of apparatus, a burglar alarm may be sounded, andexit down remotely locked.

Likewise, if an ID is discovered in a region in which it should not be(eg a person or a container of dangerous material) then the overallcoordinator (or the regional coordinators) may likewise be Programmed toraise an alarm, bar access or exit, and/or display this in a display.

Transmission of Additional Information

According to another feature of the invention, input and outputfacilities may be provided on the transponders.

For example, in addition to the address of the device that is beingrequested to transmit the ultrasonic pulse, a radio message from acoordinating device may contain a number of data bits (an “Output DataValue”) which may, for example, be sent to an output port on theaddressed transponder, to control for example a display, or roboticdevice associated with that transponder.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will now be described by way of example, with reference tothe accompanying drawings, in which:

FIG. 1 is a schematic diagram of a positioning system;

FIG. 2 shows the FPGA configuration of the transmitter unit,

FIG. 3 is a schematic diagram of a mobile transmitter unit for thesystem of FIG. 1;

FIG. 4 shows the FPGA configuration of the mobile transmitter unit onthe system of FIG. 3;

FIG. 5 is a simplified block schematic of the ultrasonic receiver unit;

FIGS. 6A to 6C show how a standard ultrasonic receiver, such as shown inFIG. 5, operates as part of a transponder in the system of FIG. 1;

FIG. 7A to 7D show the operation of a modified ultrasound receiver,adapted to render it insensitive to spurious noise signals, in thesystem of FIG. 1;

FIG. 8 is a more details block schematic diagram of the ultrasoundreceiver such as shown in FIG. 5.

FIG. 9 shows how two transponders each incorporating standard ultrasoundreceivers can be mounted on a movable object such as a chair to indicaterotational movement;

FIG. 10 shows how component redundancy in a two transponder arrangementsuch as shown in FIG. 9, can be reduced;

FIG. 11 is a detailed block schematic of the single more complexreceiver unit provided in the system of FIG. 10;

FIGS. 12A and 12B are top (or bottom) and side view of anomnidirectional ultrasound source;

FIG. 13 illustrates a more directional ultrasound source;

FIGS. 14A and 14B are top and side views of a transponder unit designedto be worn round the neck;

FIG. 14C is a view from above showing the directionality of the deviceshown in FIGS. 14A and 14B;

FIG. 15 is a view from above of the sound pattern which emanates from anomnidirectional ultrasound transducer (or transducer group) whenattached to or partly obscured by an object which is of acousticallyopaque and/or absorbing material;

FIG. 16 is a side view of a person wearing a device such as shown inFIGS. 14A and 14B;

FIG. 17 is a top view of the person shown in FIG. 16;

FIG. 18 is a block schematic overview of a complete system incorporatingthe invention and also including bi-directional radio link between themaster transmitter unit and each of the addressed transponders;

FIG. 19 is a detailed block schematic of at clock generator in FIG. 18;

FIG. 20 is a detailed block schematic of a zone manager of FIG. 18;

FIG. 21 is a detailed block schematic of a matrix manager of FIG. 18;

FIG. 22 is a detailed block schematic of an ultrasound receiver such asis incorporated in each room of the system of FIG. 18;

FIG. 23 is a detailed block schematic of a mobile transponder unit suchas is mounted on objects in the rooms in the system of FIG. 18;

FIGS. 24 to 36 are Equations (1) to (13), respectively; and

FIGS. 37 and 38 are Tables “A” and “B” respectively.

OVERVIEW OF THE DRAWINGS

In the drawing a set of ultrasonic receiving elements are placed in amatrix on the ceiling of rooms in which the system is installed, andultrasonic transmitters are placed on the objects to be located.

An addressable radio link is used to allocate timeslots, transmit thesynchronising timing pulse, and allow transmitting elements tocommunicate with a coordinating device, eg to register an initialpresence.

Waves are used because their speed of propagation is very fast, andunknown delays in the radio link will be very small compared to thetime-of-flight of, for example, ultrasonic pulses used to measuredistances so that to a first approximation the measurements can be saidto be synchronised, and the unknown errors will not significantly reducethe accuracy of the system.

Alternatively a wired network may be used between the fixed receivingelements to distribute a timing pulse. This has the advantage of beingless prone to interference, and potentially of lower cost.

At least three receivers must detect valid signals for the system to beable to calculate the position of the transmitter, but if all thereceiving elements are coplanar, there can be ambiguity about whether atransmitter is above or below the plane containing the detector—eg theceiling of a room. This ambiguity can be resolved if it is known forexample that all transmitters are always below the ceiling.

The information gathered by this system can be used to automatecomputing and communications equipment in an intelligent manner. Bylocating the position of people and equipment for example in an office,hotel, hospital facility or home environment, it is possible for exampleto route phone calls, dispatch a printing job to the nearest printer,automatically identify the nearest visible screen to a user (for displayor information requested by them), and intelligently select camera viewsin videophone conversations.

Availability of fine-grain high resolution location information canallow new methods of human-computer interaction, e.g. connection ofvideo and audio streams by bringing their endpoints into close physicalproximity.

It may also be possible to use a transmitting unit as an input device,e.g. as a wireless mouse, a 3D pointer, or for three-dimensional gesturegeneration.

It may also be possible to use the information gathered by the system todetect motion (by observing changes in the position of an object overtime, or by Doppler methods), and the presence of opaque objects (whichmay shadow receiver elements), which can be deduced from patterns orreception of the distance measuring pulses.

DETAILED DESCRIPTION OF THE DRAWINGS

In FIG. 1, the position system operation is as follows:

1. To find the position of a mobile transmitting device 10, a PC 12loads an 8-bit address of the mobile device onto its parallel port.

2. A transmitter controller, based around a Xilinx XC3020A FPGA (theFDGA configuration is shown FIG. 2) and interfaced to the PC parallelport, reads this address five times a second, and generates a 40 KHzdata stream comprising a preamble and the address from the parallel busof the PC.

3. The 40 KHz data stream is FM encoded onto a 418 MHz radio link by aRadiometrix BIM418 radio module 16.

4. As the first bit of the preamble is generated by the transmittercontroller, a signal from that controller commands an ADC 13 (HPE1413/A) to begin sampling at a rate of 100 Kz (shared between allchannels being sampled).

5. Mobile devices such as 10 described in detail in later Figures of thedrawings located in the area covered by the system, pick up the preambleand 8-bit address and compare the address with their own. If theaddresses match, the mobile device in question transmits a 750microsecond pulse of 40 KHz ultrasound. Typically an array of fivetransducers is mounted on each device, typically in a hemisphericalpattern (not shown).

6. The ultrasonic pulse is pocked up by one or more ultrasonic receiverunits of which four are shown at 20, 22, 24 and 26. Those receiving thepulse process the signal in a manner described later before passing theprocessed signal to the ADC 18, which is set to sample them wheninstructed.

7. After the initial command to begin sampling, the ADC continues tosample at 100 KHz for 20 milliseconds and the sample values are stored.The stored sample values are passed over a serial interface to the PC12. HP Vee software is loaded into the PC to manage the sampled data,find signal peaks, determine transmitter-receiver distances, andcalculate and position relative to the receivers of the mobile devicethat was addressed, using the algorithms described herein before.

The FPGA configuration of toe transmitter controller of FIG. 1 isdetailed in FIG. 2.

In FIG. 3 the operation of a mobile radio transmitter is as follows:

1. At power-up, the Xilinx XC3020A-FPGA unit 28 downloads itsconfiguration from a Xilinx 1736PC serial PROM 30(the FPGA configurationis shown in FIG. 4). A PIC16C54 microcontroller 32 enables a RadiometrixBIM418 radio module 34 and a 4 MHz Xilinx clock 36 (built around a 4 MHzcrystal and a 74HCT00 1C).

2. The XC3020A unit 28 monitors incoming 40 KHz received data until itdetects a preamble and 8-bit address. It then compares the receivedaddress with its own (stored in its serial PROM), and if the addressesare identical it drives five ultrasonic transducers such as FamellElectronics part No. 213-214 at 40 KHz for 750 microseconds (of whichone is shown at 38).

3. The PIC16C54 microprocessor 32 then disables the BIM418 radio module34 and 4 MHz clock 36, and places he XC3020A unit 28 into powerdownmode, to save power, for 0.196 seconds. It then re-enables thesecomponents and step (2) is followed again.

Power is typically derived from two 3.6V half-AA lithium thionylchloride batteries, regulated to 5V by an LT1129 IC.

The FPGA configuration of the transmitter controller of FIG. 3 isdetailed in FIG. 4.

The operation of the ultrasonic receiver shown in FIG. 5 is as follows:

1. The ultrasonic signal is detected by an ultrasonic transducer such asa Farnell Electronics part No. 213-226 denoted by 40.

2. This signal is amplified (typically by a factor of 56) using aninverting amplifier 42. Typically this is built around one-quarter of aTL074 quad op-amp.

3. The amplified signal is rectified using a full wave active rectifier44. Typically this is built around one-half of a TL074 quad op-amp.

4. The rectified, amplified signal is smoothed using an RC circuit 46 toobtain a signal which represents the envelope of a rectified version ofthe original signal.

5. This signal is passed to the HP E1413/A ADC 18 (see FIG. 1) via anRJ45 jack plug and one wire of a four wire network, which also suppliesthe unit with +5V, −5V and GND power lines.

Standard Receiver

A number of these are located at known locations around the environment(room) in the ultrasonic positioning system.

As shown in FIG. 6(A), each receiver 47 is triggered by a centralcontroller 48 across a network 50. Following a timing or reset signal49, the receiver monitors signals from a 40 KHz ultrasonic detector 52for 20 ms as depicted in FIG. 6(B), and the time at which the incomingsignal peaked for the first time is determined and held in the receiver.After the 20 ms window closes, the central controler 48 polls eachreceiver across the network 50 as depicted at 54 and 56 in FIG. 6(C),and retrieves the time value. The value from each receiver is either thetime after the window opened at which the signal first peaked, or iszero (which indicates that no useful signal was detected).

Reducing System Response to Spurious Acoustic Signals

To confer noise immunity two channels and two ultrasonic detectors areprovided as shown in FIG. 7A. The first detector 52, and first channel58 are sensitive to 40 kHz and the second, 60, 62 to another frequencyeg 25 kHz.

When the receiver is triggered, both channels are reset and monitor theincoming signals for 20 ms, and determine the times (a,b) at which anyreceived signals peak for the first time as shown in FIG. 7(B)

The value b is checked and if greater than 0, the value of a is forcedto 0, also, as shown in FIG. 7(C). If b equals 0, the value of a isavailable to be returned to the central controller.

When the central controller 48 polls each receiver 47 across the networkis shown in FIG. 7(D), and nosed by 64, the time value a from the firstchannel 52, 58 is returned to the controller 48, as denoted by 66. Ifthe second channel value b had been non-zero (indicating that a spuriousacoustic signal was detected), then zero is returned to the controllerfrom the first channel 52, 58.

Transponder Design

A standard receiver-transmitter (transponder unit 68 (such as item 10 inFIG. 1) is shown in FIG. 8.

This comprises a radio receiver (1) which picks up encoded FM signals inthe 418 MHz band from a radio transmitter (16 in FIG. 1) controlled by acentral coordinating device 48 (not shown).

These signals are passed through decoding logic 72, which presents theaddress contained in any decoded message, to an address comparator 74.If the latter identifies the address in the message as that or thetransponder stored in ROM 76, it triggers a signal generator 78, whichdrives a set of ultrasonic transducers 80 to transmit an ultrasonicpulse.

Two such standard transponders 82, 84 are shown in FIG. 9 attached totwo spaced apart points on a chair 86. Since the two transponders 82, 84contain similar duplicated components, an alternative arrangement ispossible as shown in FIG. 10. Here, a single receiver and control unit88 drives two individually addressable ultrasonic transducer sets,mounted at the same points on the chair 86, 90, 92 as were the standardtransponders 82, 84.

The alternative arrangement is shown in more detail in FIG. 11. The unit88 is made up of a radio receiver 94 which picks up the encoded FMsignals in the 418 MHz band from the central transmitter. These signalsare passed through decoding logic 96, which presents the addresscontained in any message detected to an address comparator 98. Thelatter is associated with a lock-up table 100 containing in this casetwo rows 102, 104. Each row stores a transducer address and a portnumber (e.g. if transducer set 1 is attached to port 1, one of the rowswill be the ordered pair (1,1)).

If the address comparator identifies that the address in a receivedradio message matches one of the transducer addresses in the look-uptable 100 it triggers a signal generator 106. The address comparatoralso controls gates 108, 110, to direct the output of the signalgenerator 106 to the port identified by the port number in the receivedtransducer address. It can be seen therefore that the number of radioreceivers, decoders, comparators and signal generators required by asystem where two or more ultrasonic transmitter transducers are to bemounted as single objects, can be reduced, with consequent economies.

Two groups of ultrasonic transducers 112, 114 are connected separatelyone to port 1 (controlled by gate 108) and the other to port 2controlled by gate 110.

Introducing Directionality into the Transducers

Since ultrasonic transducers tend to produce a sound wave over arelatively small solid angle, and they are therefore rather directional.A less directional transducer is shown in FIGS. 12A and 12B. Thiscomprises a spherical body 116 from which protrude a plurality ofregularly spaced transducers, one of which is shown at 118 in each ofthe views.

If the spherical unit 116 or FIGS. 12A and 12B is mounted so that itslower half is acoustically shielded, none of the lower transducersserves any useful purpose and could be omitted. Such a unit is shown inFIG. 13(C), where the hemispherical body 120 carries transducers 122.

The device 120 is shown mounted on a housing 124 which may containelectronic components making up the transponder. Less than half thenumber of transducers are required than in an omnidirectional sourcesuch as shown in FIGS. 12A, 12B.

FIG. 14A shows a transponder 126 capable of being worn by a personaround their neck for example on a chain 128. As seen in FIG. 14C, theultrasonic transducers 130 can be arranged to give a relatively narrowbeam 132 which will project in front of the person 134. By finding theposition of the person 134 and the locations of the receivers (20, 22,24 etc in FIG. 1) at which the beam is detected, it is possible todeduce which way the person is facing.

Derivation of Orientation Information

Where the objects on which transponders omnidirectional (standard) areattached are opaque or relatively opaque to ultrasound, it is possibleto obtain information about the orientation of those objects from thedata collected by the receivers such as 20, 22 etc in FIG. 1. Consider atransponder 136 attached to a known point 138 on such an object 140, asin FIG. 15. The capacity of the object 140 ensures that the only soundenergy 142 which can leave its vicinity does so in the direction 144.This effect may be amplified if the transmitter is itself directional tosome degree.

By interrogating the receivers (20, 22 etc (FIG. 17)) in an environmentcontaining such an object and performing a calculation on theinformation they provide, the location system can calculate in threedimensions the position (x,y,z) of the transponder 136. The locationsystem also knows the positions (u₁,v₁,w₁) . . . (u_(n),v_(n),w_(n)) ofthe n receivers that have detected the ultrasonic signal. Using theknown location of the transponder on the object and the known locationsof the receivers, the direction, relative to the object, in which theultrasonic energy will have left its vicinity, can be deduced.Correlating these three items of information allows the object'sorientation to be determined, where the position of point 138 relativeto the object 140 is known.

An example of how this can be derived will be described with referenceto FIGS. 16 and 17 which show a standing person 146, who can face in anydirection and therefore be said to be rotatable about a vertical axis148, relative to a horizontal array of receivers one of which is denotedby 150.

The person 146 is wearing a transponder 152 on a chain around his neck.In this case, the sound energy is directed in front of the person, withthe middle of the beam lying in the same vertical plane as the directionin which they are facing. FIG. 18 shows the person from above and thearea in the horizontal plane over which sound energy will be radiatedfrom the ultrasonic transducers on the transponder 152.

First it is necessary to compute the mean point of detection of theultrasonic signal or the ceiling (û,v,w), given by Equations (5), (6)and (7).

Secondly, the vector (a, b, c) is computed from the transponder to themean point. The vector a, b, c, is computed using Equations (8), (9) and(10).

The vector (a,b,0) usually can be taken to be a good estimate of thehorizontal direction, of the middle of the sound beam leaving theobject's vicinity, and can be used to calculate the direction A, inwhich the person is orientated around a vertical axis (relative to someother horizontal direction specified by a vector (m,n,0).

The value of A in the range [−π, π] can be computed from the values ofsinA and cosA given by Equations (11) and (12).

The value of A can be used as an estimate of the direction in which theperson is facing.

FIGS. 18 to 23 illustrate a position detection system embodying theinvention and the separate parts making up the system.

Complete System

FIG. 18 is a block schematic diagram of the complete system in which aScheduling PC 154 dictates which one of a set of Mobile Transponders(one of which is shown at 156) are to be addressed in each of 25timeslots per second. Addressing messages generated by the Scheduling PCare sent to Mobile Transponders via a Zone Manager 158, which alsopasses registration messages from the Mobile Transponders 156 back tothe Scheduling PC.

Ultrasonic signals generated by the addressed Mobile Transponders 156 inresponse to the addressing messages sent by the Zone Manager, aredetected by a set of Receivers three of which are shown at 160, 162, 164attached to a Matrix Manager 166. Typically, there will be one MatrixManager and a set of Receivers per room (or other space in whichultrasound is confined).

A Positioning PC 168 connected to the Matrix Manager 166 derives the airtemperature of the room in which the polled receivers are located via athermometer 170, and polls the Receivers 160, 162 etc to retrieve thethree measurements derived from the received ultrasonic signals, anduses this data, and the measurement of air temperature in the room 172,to calculate the 3D position of the source or the ultrasonic signals.

A second set of receivers (174, 176, 178) in a second rom 180 are alsoshown, with associated matrix manager 182 and positioning PC 184. Othersimilar set-ups can be provided for each room in a building, each linkedto a central area manager 186.

Information from the Scheduling PC and the Positioning PCs is collatedby an Area Manager 186, which produces a stream of location events thatmay be sent to users or applications. In order to perform thiscollation, elements of the system must be synchronised—this is achievedusing a 25 Hz signal from a Clock Generator 188 and initialising PC 190.

Radio signals are transmitted to the mobile transponder radio receiversfrom a master radio transmitter/receiver unit 189 operating at 418 MHzwith FM encoding.

Individual Part of the System

(1) Clock Generator (FIG. 19)

The Clock Generator 188 sends an accurate 25 Hz clock pulse and globaltime value to the Zone Manager and the Matrix Managers across a serialnetwork. The generator has a 25 Hz 192 clock which drives a time storeand counter 194. The time store holds the current global time value, andthe counter increments it with every pulse. An initial global time valuemay be loaded from a the PC 190 connected to the Clock Generator (seeFIG. 18).

After incrementing the current global time value, that value, and theclock pulse are gated to a serial network interface 196, whichdistributes these signals to other system components, so as tosynchronise them.

(2) Zone Manager (FIG. 20)

Each Zone Manager (158, 166, 182 etc in FIG. 18) handles the radiointerface between the Scheduling PC and the Mobile Transmitters. Asshown in FIG. 20, it has a Data Store 198 which is filled by theScheduling PC with the next packet to be transmitted. When this processis complete, the Zone Manager unasserts the “Ready” status line. Onreceipt of a clock pulse from the synchronisation network (200) along202, the Zone Manager stores the associated time in a Time Store, 204,and triggers a Message Generator 206. The Message Generator sends a136-bit preamble followed by a Manchester-encoded copy of the storedpacket at 40 kbps to the transmit side of a 418 MHz FM Radio Transceiver208, thus sending a DC-balanced copy of the desired message to theMobile Transmitters.

After sending the message, the Zone Manager triggers a Message Decoder210, which looks at the incoming signals picked up by the receive sideof the Transceiver 208. Any incoming radio message sent by the radiotransmitting section of the Mobile Transponder is decoded anderror-checked, and if the message is valid it is stored in a MessageStore 212.

When time has been allowed for the outgoing message to be sent and anyincoming messages to be detected, the Zone Manager asserts the “Ready”status line indicating that the Scheduling PC can review the stored timeand any stored message. To this end the scheduling PC controls Data PathSwitch 214 to supply trigger tune (from 204) and/or message (from store212) as appropriate, before loading the next packet to be transmitted.The global clock synchronisation network signals pass unchanged throughthe Zone Manager.

(3) Scheduling PC

The Scheduling PC 154 (FIG. 18) is programmed to determine the order inwhich Mobile Transmitters should be addressed based on the LocationQualities of Service (LQoS) assigned to them (either statically, ordynamically by users and applications) The Scheduling PC also constructsthe packets to be sent to Mobile Transponders (via the Zone Managers),and performs resource reclamation.

The algorithm used to choose the next Mobile Transmitter to be addressedis described in the sections above entitled “Schedule Implementation”.

Once the next Mobile Transmitter's address has been determined, theScheduling PC determines whether an application requires that an “OutputData Value” should be sent to that transmitter. It also determineswhether applications have indicated that the transmitter is no longerresponding to addressing messages (perhaps because it has been removedfrom the range of all the receivers in the room or building in the caseof a multi-zone system). If so, the transmit or drop bits in the nextmessage should be set, to check the situation, or reclaim resources (asdescribed above).

The Scheduling PC also determines whether any Mobile Transmitters shouldbe woken prematurely from a sleeping state, in which case the wake bitshould be set. It also can acknowledge that a mobile transponder hasbeen registered with the system whether this has been done by anoperator, or an application according to data/time or data forcing thesystem to look for a particular mobile transponder address or has beenachieved automatically.

Two values, s (the score) and e (the Effective Location Quality ofService) associated with the Mobile Transponder to be addressed, andmaintained by the scheduling algorithm, can be used to estimate a timefor which that Mobile Transponder may go to sleep. It can be shown that,assuming the LQoS demands managed by the system do not change, theMobile Transmitter will not be addressed in at least the next s ttimeslots, given by Equation (13).

A message packet is then constructed from the collected information. Thepacket has a number of Cyclic Redundancy Check (CRC) error checkingcodes embedded within it(the standard CRC-8 code is used), and itsformat is given in Table (A).

If no data value is to be sent to the Mobile Transponder, the OutputData Value field is set to 255. Similarly if no Mobile Transponderregistrations require acknowledgement, the Registration Acknowledgementfield is set to zero.

The message packet is loaded into the Zone Manager's Data Store in 8-bitchunks. After the last chunk is loaded, the Scheduling PC start tocontinuously poll the Zone Manager's “Ready” status line. This line isasserted when the Zone Manager has transmitted any stored message wherethe radio receiver section of the transceiver 208 is being employed.

At this time, the Scheduling PC retrieves (from the Zone Manager) thetime at which the transmission was made, and sends an event of the form(identifier, time) to he Area Manager across a CORBA interface (ObjectManagement Group, The Common Object Request Broker; Architecture andSpecification. Revision 1.1, OMG Document Number 91.12.1, December1991), indicating the 16-bit identifier of the addressed MobileTransmitter and the time of addressing.

Finally, the Scheduling PC retrieves from the Zone Manager any incomingmessage sent by the radio transmitter of the address Mobile Transponder(where fitted and utilised) Any such message will contain an address andbutton status bits. The Scheduling PC must deal with any registrationrequest detected in this way, and/or inform any applications which areinterested in “Button Pressed” events from Mobile Transponders.

It then identifies the address of the next Mobile Transmitter byrepeating the scheduling process described in this section.

(4) Matrix Manager (FIG. 21)

The Matrix Manager shown in FIG. 21 resets ultrasound Receivers (eg 20,22 etc in FIG. 1) connected to it, at a precise time, and acts as aninterface between the Positioning PC and those Receivers.

On receipt of a clock pulse along line 216 from the synchronisationnetwork 200, the Matrix Manager stores the associated time in a TimeStore 218, limits for 9.65 ms to allow the radio message to be sent andsends a “Reset” signal over its Downstream Network Interface 220 to theultrasound Receivers connected to it. After 20 ms, the Matrix Managerasserts the “Results Ready” status line, which indicates to thePositioning PC that the Receivers will have made their measurements, andthat the Positioning PC can now use the “Outgoing Data” bus to pollthose Receivers to determine the results.

The Positioning PC can also retrieve the time at which the Receiversmade their measurements by recovering the time held in the Time Store218. It can also retrieve the latest measurement of the temperature inthe room measured by a temperature sensor 222, the output of which iscontinually digitised by ADC 224 and stored in memory 226 for retrievalfor example when the Receivers are reset.

The Positioning PC can also send commands to the ultrasound Receiversthrough the “Outgoing Data” bus to change the peak detection algorithmor thresholds used by the ultrasound Receivers.

When the Positioning PC asserts the “PC Ready” status line to indicatethat it has performed all necessary actions associated with the currentmeasurements, the Matrix Manager unasserts the “Result Ready” statusline and prepares itself for the next clock pulse.

Data from the radio link (if utilised) between transceiver 208 and themobile transponders is received via the upstream Network Interface 228and transferred when instructed to a Data Path Selector switch 230 (FIG.20) together with the digital temperature value from 226.

The global clock synchronization network signals pass unchanged througheach Matrix Manager in turn.

(5) Receiver (FIG. 22)

The receiver shown in FIG. 22 detects ultrasonic signals from thetransducer on the Mobile Transponders, and converts them to electricsignals and processes those signals to determine the time at which thereceived acoustic signal peaked for the first time. Receivers areconnected in a serial daisy-chain to a Matrix Manager by twonetworks—and upstream network, 232 which carries information to theMatrix Manager, and a downstream network 234 which carries informationfrom the Matrix Manager. Each Receiver has an address which is uniqueamongst those connected to the same Matrix Manager, allowing it to bepolled by the Positioning PC also connected to that Matrix Manager. Theaddress may be coded for example by setting switches 235 on the PCBs ofthe Receivers.

When a Receiver detects a “Reset” signal condition on the downstreamnetwork 234, it resets at on-board counter 236 and peak detectioncircuit 238. For the next 20 ms, the counter is updated at a frequencyof 20 kHz, and the peak detection circuit monitors a signal from a 40kHz ultrasonic transducer which has been amplified in 242, rectified in244, smoothed in 246 and digitized in 248.

When the peak detection circuit indicates stat the signal has peaked forthe first time, counter 236 is stopped.

If the 20 ms window closes before a peak is defected, the value 0 isformed in the counter.

After the 20 ms period, the Receiver may be polled by the Positioning PCvia the Matrix Manager and the downstream network 234. If an addresscomparator 250 in the Receiver links to the switch coded address 235detects that the Receiver is being polled, the stored value in thecounter is sent back to the Positioning PC via the upstream network 232and Matrix Manager, together with error-checking information. Incominginformation from other Receivers on the upstream network is blockedduring this period.

Additional lines on the downstream network 234 can be used by thePositioning PC to change the peak detection algorithm used by theReceiver. Two algorithms may be used:

Stop the counter when the signal has risen above a certain absolutethreshold and when the signal peaks for the first time. This is thedefault algorithm.

Stop the counter when the signal has rise above a certain thresholdrelative to the lowest signal value seen so far. this algorithm is moreuseful when the offset of the Receiver amplifier is liable to change.

The threshold source may he a bank of switches 252 on the Receiver PCB,or a Threshold Memory 254. The threshold source may, again, be changedby the Positioning PC by using lines on the downstream network. To setthe value in the Threshold Memory 254, the Positioning PC sets the polladdress on the downstream network to the new value, and then assertsfurther lines such that each of the Receivers load the poll addressvalue into a Temporary Threshold Memory 256. The Positioning PC thensets the poll address on the downstream network to the address of theReceiver whose threshold must be altered, and asserts further downstreamnetwork lines to transfer the value from the Temporary Threshold Memory252 into the Threshold Memory 254 of the appropriate Receiver.

(6) Mobile Transponder (FIG. 23)

The Mobile Transponder shown in FIG. 23 can be attached to objects, andgenerates ultrasonic signals 258 by which its position and possiblyorientation can be determined.

Incoming radio messages from a Zone Manager are picked up by a 418 MHzFM Radio Transceiver 260 and decoded by a Message Decoder 262. TheMessage Decoder also uses error-checking information in the incomingmessages to determine if bit errors on the radio link have occurred.

After the message has been received, the Power-Saving SupervisoryCircuit 264 switches off the receive side of the Radio Transceiver 160.

A Message Generator 266 allows the Mobile Transponder to contact theZone Manager through the transmit side of the Radio Transceiver 260. TheMessage Generator is used by a Registration Controller 268, whichhandles attempts to make the Zone Manager aware of the presence of theMobile Transponder, and is also activated when a user presses one of twobuttons 270, 272 on the Transponder (if fitted).

If a good message is received, the Message Decoder compares thetransmitter address contained in the incoming message with that storedin ROM 274. If the addresses match, then:

1. A trigger signal is sent to a Pulse Signal Generator 276, whichdrives a set of ultrasonic transducers 278 (arranged around ahemispherical shell) at 40 kHz for 50 μs to produce the ultrasound pulse258.

2. A counter in the Power-Saving Supervisory Circuit is loaded with thevalue of the sleep time in the message (via line 280).

3. If the drop bit in the message is set, a Registration Controller 282on the mobile device is informed that the Zone Manager will no longeraddress this Mobile transmitter. The Registration Controller will thenbegin attempts to register with the Zone Manager. If the drop bit is notset, but the Mobile Transmitter is attempting to register with the ZoneManager, the Registration Controller 282 is informed that theregistration attempts were successful, and it need not attempt toregister again.

4. If the transmit bit in the message is set, the Mobile Transponderprepares to immediately transmit its address over its bi-directionalradio interface (260) to 208.

5. The 8-bit Output Data Value in the message is sent to a 10-way dataport on the Mobile Transponder (the port also includes a ground line,and a strobe line which indicates when the data is valid).

If the Message Doctor indicates that the incoming message is not for thecurrent transmitter, but that the Registration acknowledgement fieldcontains the address of the current transmitter, then the RegistrationController 282 is informed that the Zone Manager is now aware of thisMobile Transponder, and that no more registration attempts are needed.

After the incoming message has been decoded, the Mobile Transponder mayattempt to send a data packet back to the Zone Manager through thetransmit side of the 418 MHz radio transceiver 260. This behaviour maybe caused by a number of events:

1. The transmit bit in the incoming message was set, and the transmitteraddress encoded in the incoming message is the same as that of theMobile Transponder.

2. A button switch on the Mobile Transponder has been pressed.

3. The Registration Controller 282 is attempting to register the MobileTransponder with the Zone Manager, and the transmit bit of the incomingmessage is not set, and he probabilistic “Slotted ALOHA”contention-resolution protocol (driven by a pseudo-random numbergenerator) indicates that the Mobile Transponder should attempt to senddata to the Zone Manager in this timeslot.

If one of these events does occur, a message generator waits a 25 μsturnaround time before switching on the transmit side of the RadioTransceiver 260, and sending (at 40 bps) a 168-bit preamble followed bya Manchester-encoded version of the packet whose format is shown inTable (B).

A Cyclic Redundancy Check code may be included in the packet to detectlink errors or collisions with transmissions from other MobileTransmitters. A standard CRC-8 algorithm is used to generate the CRC.

After transmission of the preamble and packet, the Message Generatorswitches off the transmit side of the Radio Transceiver 260.

The Power-Saving Supervisory Circuit 264 is used to control other partsof the Mobile Transmitter in order to save power. It is driven by a 32kHz clock 284, which allows it to be low-powered itself. The primefunction of this circuit is to turn on the receive side of the RadioTransceiver 260 every 40 ms, so that the next incoming radio messagefrom the Zone Manager may be detected and decoded. However, if the SleepCounter is not zero (indicating that the Mobile Transponder may enter aneven lower-powered sleeping state), the Power-Saving Supervisory Circuit264 decrements this counter once every 40 ms, and only activates thereceive circuitry of the Mobile Transmitter 260 once every eighttimeslots (so that the wake bit periodically may be checked). ThePower-Saving Supervisory Circuit 264 also controls an 8 MHz clock 265which is used by the Message Decoder 262 and Message Generator 266.

If the Message Decoder 262 indicates that the wake bit in the incomingmessage was set, then the Power-Saving Supervisory Circuit 264 setssleep counter 286 to zero. This action ensures that the transmitter willcheck each incoming message until it is instructed that it no longerneeds to do so.

If the Message Decoder 266 indicates that an error occurred on the radiolink, or that no message was received when one was expected, the MobileTransponder will enter a “Searching” mode. In this mode, the low-powersupervisory circuit switches on the receive side of the 418 MHz RadioTransceiver 200 approximately once every 80 s, for a period of just overone second, and the Registration Controller 282 is informed that itshould attempt to register with the Zone Manager. The “Searching” modeis also the default state of the Mobile Transponder when it is switchedon for the first time.

(7) Positioning PC

A 200 MHz Pentium-pro IBM compatible PC with a 48 line parallel digitalIO card may be used and the same hardware is suitable for all PCs shown.

Associated with each Matrix Manager is a Positioning PC 154, 168, 184which computes the compositions of Mobile Transmitters from thetime-of-flight values determined by Receivers 160, 1672 etc (whosesurveyed positions are stored in memory by the Positioning PC). Itcontinuously polls the Matrix Manager to determine whether the Receivershave been triggered and have results which should be processed. When the“Results Ready” status line is asserted by the Matrix Manager, thePositioning PC (via the Matrix Manager) polls each of the n Receiversconnected to the Matrix Manager, retrieves a data value from each (alongwith error checking information), and unasserts the “PC Ready” statusline.

For each Receiver that returns a good non-zero data value (ie. the errorchecking information indicates a good data value, which, being non-zero,indicates a signal was detected by that Receiver), that data value isused to calculate a transmitter-receiver distance. The Positioning PCinterrogates the Matrix Manager such as 166, 182 and determines thecurrent temperature of the room, t (measured in °C). It is then possibleto calculate the speed of sound in the room.

Calibration of the system during installation provides a value, d, forthe fixed delays in the system (such as the time taken to decode theradio message by the Mobile Transponder). From the pulse time-of-flight,fi, from the Mobile Transponder to Receiver i, the correspondingtransponder-receiver distance can then be calculated, li as li=cx(f_(i)−d).

If a Mobile Transponder is at the coordinates (u, v, w) and the distancefrom it to a Receiver at the coordinate (x, y, 0) is l, are that allReceivers lie in the plane of the ceiling.

Equation 1 can be regarded as a nonlinear model, see Myers, R. Classicaland Modern Regression with Applications, PWS-KENT, 1990, and can usenonlinear regression to it the values of l,x and y for several Receiversto this model. This gives estimates û, v and ŵ². This allows thedetermination of a best least-squares estimate for the MobileTransponder's position as the coordinate (û, {circumflex over (v)},−ŵ²), taking the negative square-root of ŵ² to fix the transponder belowthe ceiling. A shadow solution ((û, {circumflex over (v)}, −ŵ)corresponds to an impossible transmitter position above the ceiling. Thenon-linear model has three degrees of freedom, and knowledge of at leastthree transponder-receiver distances is therefore required to calculatethe Mobile Transponder's position. Furthermore, the model cannot befitted to the data if all Receivers that detected a signal arecollinear.

Reflected signals from objects in the environment can lead to incorrectdistance measurements. Normally, the first signal peak detected by aReceiver well be due to a pulse travelling along a direct line from thetransponder This pulse will arrive before any reflected pulses, whichmust travel along longer paths. The distance thus measured by the systemwill be that of a straight line joining transponder and receiver.Occasionally, however, the direct path may be blocked, and the firstreceived signal peak will be due to a reflected pulse. In this case, themeasured transponder-receiver distance will be greater than the truedistance, leading to an inaccurate estimate of the transponder'sposition.

Two techniques have been developed for identifying and eliminatinginaccurate distance measurements. First the difference of twotransponder-receiver distances cannot be greater than the distancebetween the Receivers. If, by comparing pairs of measurements, twoReceivers are found whose results do not satisfy this test, it can beseated that the larger of the two distances must be a measurement alonga reflected path (remembering that reflections can only increase themeasured distance), and can discard that result from the data set.

Secondly, a statistical test has been developed based upon theobservation that the proportion of Receivers that detect only reflectedsignals is small. Studentized residuals (Glantz,S., Slinker, B. Primerof Applied Regression and Analysis of Variance. McGraw-Hill, 1990)provide one method of identifying outliers in data sets, and can becalculated for each of the distance measurements during the nonlinearregression process. An incorrect measurement will be considered to be anoutlier in the full set of measurements, and it is likely to have alarge studentized residual. The result with the largest positivestudentized residual is removed from the set of distance measurements(remembering, again, that reflections can only increase the measureddistance), before re-computing the nonlinear regression and residuals.

The statistical test is repeated until the variance of the remainingmeasurements fall below an acceptable threshold (suggesting that alloutlying data points have been eliminated), or only three measurementsremain. A final calculation of the transmitter's position is then madeusing those data values.

From the calculated position and the known locations of the Receiversthat detected a signal from the Mobile Transmitter, it is also possibleto estimate θ, the orientation of the Mobile Transmitter around avertical axis. the method used to perform this estimation has beendescribed above.

The Positioning PC then retrieves (from the Matrix Manager) the time atwhich the measurements used in the position calculation were made.Finally, it sends an event of the form (x, y, z, θ, time) to the AreaManager across a CORBA interface, indicating the calculated position (x,y, z) , orientation (θ) and time of measurement, and informs the MatrixManager that it is ready for the next set of readings (by asserting the“PC ready” status line).

It should be noted that the Positioning PC (168, 184) can send commandsto individual Receivers (via the Matrix Manager) to change the peakdetection algorithm they use, or to change the threshold they store inmemory, or to change the source of the threshold that the peak detectionalgorithm uses (either on-board switches, or memory)

(8) Area Manager (FIG. 18)

As shown in FIG. 18 data from the Scheduling and Positioning PC's istransmitted to the Area Manager 186 which comprises inter alia a dataprocessor (such as a PC). This gathers events of the form (identifier,time) from the Zone Manager, and events of the form (x, y, z, θ,time)from each Matrix Manager.

An associative memory in the Area Manager links events using the timeparameter, and generates a stream of events of the form (identifier, x,y, z ,e, time).

It can be seen that these events contain identification, location,orientation and time information, and therefore allow the position andorientation (at a particular time) of a transponder to be determined.

This event stream (shown at 288 in FIG. 1) may be passed on to users andclient applications.

Power Saving at the Receiver-transmitter Units

Power saving can be achieved in the transponders by switching thereceiver into a quiescent or OFF mode during the time intervals betweenaddressing, and if the frequency at which a particular transponder unitis to be addressed is known this can be encoded into the radio messageso that after decoding the message the receiver section can be turnedoff for that period of time.

Control Signals Using Radio Transmitters

Additional information in the form of control signals may be encodedinto the radio addressing signals transmitted to the transponder unitsso as for example to control a display or robotic device, associatedwith the transponder unit.

Share Determination

Electrical signals indicative of the positions of a plurality oftransmitters located at selected, strategic points on an object, may bederived and stored and processed, for example by comparison with storedelectrical signal data or processed by means of an algorithm, to producea decision signal indicative of the shape of the object. This may enablea new object to be identified by reference to its shape.

Display of Monitored Area

Electrical signals indicative of the position and/or orientation of anobject whose position and orientation (relative to the area) have beendetermined by position determining systems, may be employed to controlthe display of a graphical representation of the object on a TV orcomputer monitor, together with graphical representations of otherobjects also identified by position (and orientation if measured).

What is claimed is:
 1. A system which enables the position of each of aplurality of labelled objects in a specified environment to bedetermined by determining the transit time of slowly propagating energytransmitted from a transmitter of slowly propagating energy on eachlabelled object to a plurality of receivers positioned at fixed pointsin or around the specified environment, and computing therefrom theactual distance of the transmitter from the receivers, wherein thetransmission of the slowly propagating energy is initiated by a burst ofhigh speed propagating energy from a master transmitter of high speedpropagating energy located so as to cause transmitted bursts of suchhigh speed energy to enter said environment, the transmitter of highspeed propagating energy on each object being controlled by an objectmounted receiver adapted to respond to an appropriately encoded burst ofsuch high speed energy, each said burst being encoded so as only to beresponded to by one of the object mounted receivers (eachtransmitter/receiver combination being referred to as a transponder), tothereby initiate a burst of slowly propagating energy from thetransponder, wherein the burst originating transponder location isidentifiable from the encoding of the transmission which triggers thattransponder and the burst is of just sufficient duration to provide aresponse at the receivers and in order to allow the system to adapt todifferent numbers of transponders and different demands for service, anda coordinating control system is provided for determining the order inwhich the object mounted transmitters are to be triggered by the encodedtransmissions from the master transmitter, in response to updatableinformation relating to the service demands of the transmitter and/ortransponders and/or objects.
 2. A system as claimed in claim 1, whereinthe encoding of the high speed energy transmission enables a pluralityof different slow speed signal transmitters all located in the samespecified environment to be triggered in turn, so that during a sequenceof time windows, position data relating to each of the slow speed signaltransponder transmitters in the environment can be obtained, the data ineach window relating specifically to only one of the object mountedtransducer transmitters.
 3. A detection system for determininginformation concerning at least the position of an object, using signalpulses respectively of high and slow propagation speeds for use in asystem as claimed in claim 1, comprising at least three fixed,non-colinear, distributed slow speed signal responsive receivers, atleast one transmitter unit for transmitting slow speed signal pulses,mounted on the object, means for generating and transmitting high speedsignal pulses to synchronise slow speed signal pulse transmission fromthe transmitter with the commencement of a reception sensitive period ata receiver, and means for computing signal pulse reception times andcorrelating differences therein to determine the required informationabout the position of the object.
 4. A detection system as claimed inclaim 3, further comprising a coordinating device to address the objectmounted transmitters, as by sending address information to them as partof a regular time synchronisation signal.
 5. A system as claimed inclaim 1 wherein a bi-directional link is provided between thecoordinating control system and each transponder receiver by adding asecond transmitter to each transponder receiver and adding a compatiblereceiver to the coordinating control system, such transponders beingreferred to as bi-directional transponders, whereby the latter areenable to transmit data to the coordinating control system.
 6. A systemas claimed in claim 1, wherein each transponder further includes inputand output facilities.
 7. A system for determining the position of anobject in a specified environment, in which the transit time isdetermined of slowly propagating measurement energy transmitted from atransmitter on the object to a plurality of receivers positioned atfixed points in or around the specified environment, and in which thedistance of the transmitter from each receiver is computed from thetimes taken for the measurement transmission to propagate from theobject to some of the receivers, and wherein the slowly propagatingmeasurement energy is initiated by a trigger burst of energy having ahigher speed of propagation from a master transmitter of high speedpropagating energy which is located so as to transmit trigger burstsinto the environment to initiate the measurement energy transmitter onthe object of interest, and wherein a plurality of such transmitters arelocated on different objects and/or points of the same object, withinthe environment, and each transmitter of measurement energy isassociated with and controlled by signals from a receiver responsive totrigger burst transmissions, and the latter are encoded and/ortransmitted at different frequencies so that the receivers locatedthroughout the environment can be individually addressed from the mastertransmitter, each said combination of a receiver and transmitter beingreferred to as a transponder, characterised in that a coordinatingcontrol system is provided for determining the order in which the objectmounted transponder transmitters are to be addressed and triggered bythe transmissions from the master transmitter, together with memorymeans for storing relevant information about the different transpondertransmitters by reference to their unique address, by which the ordercan be determined.
 8. A system as claimed in claim 7, wherein thecoordinating control system memory means stores a unique address foreach of the transponder transmitters and the control system isprogrammed to encode the transmissions using the address information soas only to address the transponder transmitters individually.
 9. Asystem as claimed in claim 8, in which in addition to the unique addressfor each transponder transmitter at least one additional item ofinformation (Weighted Hierarchy Information for Schedule Positioning—or“WHISP” is stored in a manner which can be associated with each uniqueaddress and the control system is programmed to select from theaddresses that of the receiver and transmitter next to be poled usingthe WHISP values to determine the order of addressing.
 10. A system asclaimed in claim 9, wherein a WHISP is stored for each unique addressand the WHISP is changed to adjust the subsequent addressing of thetransponder transmitters.
 11. A system as claimed in claim 9, whereineach WHISP comprises two items of information, firstly the length oftime since the transponder transmitter was last addressed (which may becontinually updated by the clock information) and secondly a rate ofinterrogation figure to be achieved by the system for that transpondertransmitter.
 12. A system as claimed in claim 11, wherein the system isprogrammed to utilise a third item of data within a WHISP and logiccircuit means is provided to increase the frequency of tracking of anaddress of a first object if a second object having such a third item ofinformation stored as part of its WHISP is perceived by the positiondetermination of the second object, to have moved close to the firstobject.
 13. A system as claimed in claim 9, wherein changes to WHISPdata occur as a result of a lapse of time, the arrival of a particulartime or date, by interaction with an application running on a computerwhich may be part of the position determining system or the coordinatingcontrol system or another computer altogether, or by the entry of databy an operator.
 14. A location system which includes a set of ultrasoundreceivers placed at known positions on a ceiling in a room to detectultrasonic signals from an ultrasound transmitter attached to an objectin the room, and by determining the times of flight of those signalsfrom the ultrasonic transmitter to the ultrasound receivers socalculates the position of that object in the room, wherein the systemis extended by a programmable coordinating control system to addressmore than one ultrasonic transmitter in the room provided each has aunique address so that they can be triggered separately, by seriallypolling the transmitters in response to control signals from the controlsystem.
 15. A method of determining the position and orientation in aspecified environment of an object to which a plurality of transpondertransmitters are attached at known spaced apart positions comprising thesteps of finding the position of each of said plurality of transmitterswithin the environment and comparing the positions of those transmitterswith the coordinates of at least one, and preferably a number of,different known points in said environment, thereby to determine therelative position of the transmitters to the known points, and relatingthe positions of the transmitters to the object on which they aremounted, to determine its position and orientation of the objectrelative to the environment.
 16. A method as claimed in claim 15,wherein the step of finding the position of each of the plurality oftransponder transmitters includes transmitting appropriately encodedtrigger signals for reception by a single transponder receiver, saidtransponder receiver having decoding logic for driving the plurality oftransponder transmitters attached to the known spaced apart positions onthe object.
 17. A method as claimed in claim 16, wherein the step offinding the position of each of the plurality of transpondertransmitters includes transmitting a selected one of a plurality ofaddress signals for reception by the transponder receiver, each of theplurality of transponder transmitters being uniquely triggerable by acorresponding one of the plurality of address signals.
 18. A system fordetermining the orientation of an object within an environment definedat least in part by means of a plurality of detectors sensitive tomeasurement energy and located at a corresponding plurality of knownpositions therein, wherein transmitter means is mounted on the objectwhich is adapted to transmit measurement energy away therefrom andtowards the detectors and has a known position relative to the object,and wherein polling means is provided for interrogating the detectors todetermine on which if any the transmitted energy has been incident andfor computing the straight line distances from the object to thedetectors and thereby determining the position of the object in saidenvironment characterised in that by using the known relationshipbetween the transmitter means and the object, the direction in which theobject is facing in terms of the said environment, can also bedetermined.
 19. Method of determining the orientation of an objecthaving a transmitting device mounted at a known position thereon, whenlocated in an environment containing a plurality of detectors sensitiveto energy transmitted by said transmitting device and located at knownpositions in the environment, wherein the object is opaque to thetransmitted energy, so that a directional transmission is obtained andwherein the energy is transmitted at a defined point in time and thedetectors are interrogated at a later point in time to identify those onwhich energy has been incident prior to the later point in time, toenable the computation from the transit times to the identifieddetectors of the straight line distances between the transmitting deviceand the detectors, further comprising the step of determining theorientation of the opaque object by reference to the pattern of theidentified detectors and by reference to the position of thetransmitting device relative to the object.